package vwg.na.vwm.rh.motorsdk.modelo.procesos.entidadesgrales;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;

import vwg.na.vwm.rh.motorsdk.modelo.procesos.IdeaProceso;

@Entity
@Table(name = "ide_ideaPuntoProgramas")
public class IdeIdeaPuntoProgramas implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long idIdeaPuntoProgramas;
    private IdeaProceso ideaproceso;
    private IdePuntoPrograma idePuntoprograma;

    public IdeIdeaPuntoProgramas() {
    }

    @Id
    @Column
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public Long getIdideaPuntoProgramas() {
	return idIdeaPuntoProgramas;
    }

    public void setIdideaPuntoProgramas(Long idideapuntoprogramas) {
	this.idIdeaPuntoProgramas = idideapuntoprogramas;
    }

    public void setIdeaproceso(IdeaProceso ideaproceso) {
	this.ideaproceso = ideaproceso;
    }

    @LazyCollection(LazyCollectionOption.TRUE)
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "idIdeaProceso")
    public IdeaProceso getIdeaproceso() {
	return this.ideaproceso;
    }

    public void setIdePuntoprograma(IdePuntoPrograma idePuntoprograma) {
	this.idePuntoprograma = idePuntoprograma;
    }

    @LazyCollection(LazyCollectionOption.TRUE)
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "idPuntoPrograma")
    public IdePuntoPrograma getIdePuntoprograma() {
	return this.idePuntoprograma;
    }

}
